// pages/problems/problems.js
// 这是日期时间选择器
var dateTimePicker = require('../../utils/dateTimer.js');
const request = require('../../utils/promise')
const url = require('../../utils/link');
Page({

    /**
     * 页面的初始数据
     */
    data: {
      // 日期选择器
      end_time: '',
      dateTimeArray: '', //时间数组
      startYear: 2000, //最小年份
      endYear: 2050, // 最大年份
      start_time_p: '', //显示的开始时间
      // 文本选择器
      text: "",
      // 图片选择器
      image: null,
      // 表格上传确认单
      addForm: {
        fourIndicatorId: null,
        id: null,
        date: null,
        question: null,
        scoreId: null,
        file: null
      },
      // 控制上传成功后显示图片
      imgVisual: false,
      // 图片名称
      imgName: '',
      // 图片的保存路径
      imgPath: ''
    },
    // 自定义函数
    // 上传图片
    getImage() {
      // 选择图片
      const that = this
      wx.chooseImage({
        count: 1, // 可选择的图片数量
        sourceType: ['album', 'camera'], // 可选择的图片来源
        sizeType: ['original', 'compressed'], // 可选择的图片尺寸
        success(res) {
          const tempFilePaths = res.tempFilePaths // 返回选择的图片本地文件路径列表
          const tempFilePath = tempFilePaths[0]
          // 上传成功后将图片显示到前端
          that.setData({
            imgPath: tempFilePath, // 本地端
            imgVisual: true
          })
        },
        fail(res) {
          console.log(res)
        }
      })
    },
    // 删除图片
    deleteImage() {
      let that = this
      wx.showModal({
        title: '确定要删除吗？',
        success: async function (res) {
          if (res.confirm) {
           // 鸵鸟战术
            that.setData({
            imgVisual: false
            })
          } else if (res.cancel) {
            console.log('用户点击取消')
          }
        }
      })
    },
    // 时间选择
    changeDateTime(e) {
      let dateTimeArray = this.data.dateTimeArray,
        {
          type,
          param
        } = e.currentTarget.dataset;
      this.setData({
        [type]: e.detail.value,
        [param]: dateTimeArray[0][e.detail.value[0]] + '-' + dateTimeArray[1][e.detail.value[1]] + '-' + dateTimeArray[2][e.detail.value[2]] + ' ' + dateTimeArray[3][e.detail.value[3]] + ':' + dateTimeArray[4][e.detail.value[4]] + ':' + dateTimeArray[5][e.detail.value[5]]
      });
    },
    changeDateTimeColumn(e) {
      var dateArr = this.data.dateTimeArray,
        {
          type
        } = e.currentTarget.dataset,
        arr = this.data[type];
      arr[e.detail.column] = e.detail.value;
      dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]);
      this.setData({
        dateTimeArray: dateArr,
        [type]: arr
      });
    },
    // 保存数据
      handleSave() {
        let that = this
        // 先把图片传上去
        wx.uploadFile({
        url: url.imgUpload,
        filePath: that.data.imgPath,
        name: 'file',
        success:async function (res) {
          // 上传成功
          console.log(res);
          console.log("我上传图片成功了");
          // console.log(res.data)
          let obj = JSON.parse(res.data);
          that.setData({
            imgName: obj.data.fileName
          });
          // 上传图片的动作是同步操作,必须要写在success函数里边
          // 再传除了图片以外的数据
          console.log(that.data.imgName)
          that.setData({
            ["addForm.date"]: that.data.start_time_p,
            ["addForm.question"]: that.data.text,
            // 上传成功后将文件名保存到file字段下（因为这是审核端保存图片的唯一路径标识）
            ["addForm.file"]: that.data.imgName
          })
          const { data: res1 } =await request.post(url.handleSave , that.data.addForm)
          console.log(res1)
        },
        fail: function (error) {
          // 上传失败
          console.log('上传失败', error);
        }
      });
        // 上传成功的提示框
        wx.showToast({
          title: '成功',
          icon: 'success',
          duration: 2000
        })
        // 上传成功后回到上级页面（用户友好型，设置2S延时）
        setTimeout(function () {
        wx.navigateBack({
          delta: 1
        })
       }, 1000)
      },
    // 保存文字输入数据
    bindKeyInput: function (e) {
      this.setData({
        text: e.detail.value
      })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
      // 接收详情页面传来的数据
      const fourIndicatorId = decodeURIComponent(options.fourIndicatorId);
      const scoreId = decodeURIComponent(options.scoreId);
      console.log(fourIndicatorId)
      console.log(scoreId)
      this.setData({
        ["addForm.fourIndicatorId"]: fourIndicatorId,
        ["addForm.scoreId"]: scoreId
      })
      // console.log(fourIndicatorId)
      // 获取完整的年月日 时分秒，以及默认显示的数组
      var obj = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear);
      this.setData({
        start_time: obj.dateTime,
        end_time: obj.dateTime,
        dateTimeArray: obj.dateTimeArray,
      });
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})